<?xml version="1.0" encoding="utf-8"?>
<xs:schema
  targetNamespace="http://www.gasgoo.com/DataOperation"
  xmlns="http://www.gasgoo.com/DataOperation"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified" >
	<xs:element name="dataOperations">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="dataCommand">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="commandText" type="xs:string" />
							<xs:element name="parameters" minOccurs="0">
								<xs:complexType>
									<xs:sequence maxOccurs="unbounded">
										<xs:element name="param">
											<xs:complexType>
												<xs:attribute name="name" type="xs:string" use="required" />
												<xs:attribute name="dbType" use="required" >
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="AnsiString" />
															<xs:enumeration value="Binary" />
															<xs:enumeration value="Boolean" />
															<xs:enumeration value="Byte" />
															<xs:enumeration value="Currency" />
															<xs:enumeration value="Date" />
															<xs:enumeration value="DateTime" />
															<xs:enumeration value="Decimal" />
															<xs:enumeration value="Double" />
															<xs:enumeration value="Int16" />
															<xs:enumeration value="Int32" />
															<xs:enumeration value="Int64" />
															<xs:enumeration value="SByte" />
															<xs:enumeration value="Single" />
															<xs:enumeration value="String" />
															<xs:enumeration value="StringFixedLength" />
															<xs:enumeration value="AnsiStringFixedLength" />
															<xs:enumeration value="Time" />
															<xs:enumeration value="UInt16" />
															<xs:enumeration value="UInt32" />
															<xs:enumeration value="UInt64" />
															<xs:enumeration value="VarNumeric" />
															<xs:enumeration value="Xml" />
													    <xs:enumeration value="Guid" />
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="direction" default="Input">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="Input" />
															<xs:enumeration value="InputOutput" />
															<xs:enumeration value="Output" />
															<xs:enumeration value="ReturnValue" />
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="size" use="optional" type="xs:int" default="-1" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="name" />
						<xs:attribute name="database" type ="xs:string"/>
						<xs:attribute name="commandType" default="Text">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="StoredProcedure" />
									<xs:enumeration value="TableDirect" />
									<xs:enumeration value="Text" />
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="timeOut" type="xs:int" default="300" />
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
		<xs:key name="OperationIdentity">
			<xs:selector xpath="dataCommand" />
			<xs:field xpath="name" />
		</xs:key>
	</xs:element>
</xs:schema>